# 导入pymysal
import pymysql
# md5加密
import hashlib
# 数据密码加密方法


class Dd:
    # 初始化方法
    def __init__(self):
        # 链接数据库
        self.conn = pymysql.connect(host='localhost', user='root', password='123', db='shunzi',
                                    charset='utf8', cursorclass=pymysql.cursors.DictCursor)

    # 删除方法
    def delete(self, sql):
        # 创建游标对象
        self.cursor = self.conn.cursor()
        # 执行sql语句
        self.cursor.execute(sql)
        # 提交sqlself.conn.commit()
        self.conn.commit()

        return "delete ok"

    # 插入方法
    def insert(self, sql):
        # 创建游标对象
        self.cursor = self.conn.cursor()
        # 执行sql语句
        self.cursor.execute(sql)
        # 提交sql
        self.conn.commit()

    # 修改方法
    def update(self, sql):
        self.cursor = self.conn.cursor()
        # 执行sql语句
        self.cursor.execute(sql)
        # 提交sql
        self.conn.commit()
        return {'code': '200'}

    # 查询方法 单个数据
    def get_one(self, sql):
        self.cursor = self.conn.cursor()
        # 执行sql语句
        self.cursor.execute(sql)
        # 提交sql
        res = self.cursor.fetchone()
        # 返回结果集
        return res

    # 查询方法 多个数据
    def get_all(self, sql):
        self.cursor = self.conn.cursor()
        # 执行sql语句
        self.cursor.execute(sql)
        # 提交sql
        res = self.cursor.fetchall()
        # 返回结果集
        return res

    # 析构方法
    def __del__(self):
        # 关闭游标
        self.cursor.close()
        # 关闭数据库链接
        self.conn.close()

    def add(self, sql):
        self.cursor.execute(sql)

    def commit(self):
        self.conn.commit()

    def rollback(self):
        self.conn.rollback()
